Funktionen für Formeln / Operanden und Operatoren

Operanden

Operanden können Konstanten, Datenfelder oder Formelfelder sein.

  • Numerische Konstanten:
    Konstanten können in dezimaler, binärer, oktaler oder hexadezimaler Schreibweise eingegeben werden.
    Bei der binären Schreibweise ist ein 'b' anzuhängen , bei der oktalen ein 'o' und bei der hexadezimalen ein 'h'.
    Bei gebrochenen Zahlen ist das in Windows eingestellte Dezimalzeichen zu verwenden.
    Ausschließlich bei der (normalen) dezimalen Schreibweise ist auch eine Darstellung in Exponentialdarstellung möglich. Dabei ist zuerst die Mantisse anzugeben, danach ein 'E' und am Ende der Exponent zur Basis 10.
    Eine vordefinierte Konstante ist pi mit 3.14159... .
  • Logische Konstanten:
    Logikkonstanten sind true und false;
  • Zeichenkettenkonstanten / -funktionen:
    Zeichenkettenkonstanten sind in Anführungszeichen " einzuschließen. Innere Anführungszeichen sind zu doppeln.
    user (liefert das zweistellige Benutzerkürzel)
  • Datumskonstanten:
    date (liefert das aktuelle Rechnerdatum)
    now (liefert das aktuelle Rechnerdatum mit Zeitangabe)
  • Konstante für leere Felder:
    null
    Null
    -Werte sollten in Formularen nicht an Formelplatzhalter zugewiesen werden. Sie können für die Auswertung von select- und dbf-Anweisungen benutzt werden. Der Vergleich mit anderen Typen liefert stets false.
  • Variablen in Formeln (variable Operanden, Datenfelder) werden über Auswahlschalter eingefügt und mit geschweiften Klammern gekennzeichnet. Formelausdrücke können Zeichenketten, Zahlen, Wahrheitswerte und eingeschränkt auch null-Werte (unbestimmt vom Wert und Typ) verarbeiten und als Ergebnis liefern.

Die Verarbeitung von Datums- und Zeitwerten erfolgt über Zahlen, wobei der ganzzahlige Anteil das Datum und der gebrochene Anteil den Zeitanteil enthält. So kann man beispielsweise das Datum des nächsten Tages andrucken, wenn man zur "Datumszahl" eine 1 addiert z.B.:
[V:0:DATS:::0::{System.Datum/Uhrzeit}+1]
[V:0::::0::asdatestring({System.Datum/Uhrzeit}+1;"DD.MM.YYYY")]

Die Abarbeitung erfolgt nach den üblichen Vorrangregeln (Potenzen vor Punktrechnung vor Strichrechnung). Wollen Sie eine bestimmte Abarbeitungsreihenfolge festlegen, müssen Sie runde Klammern benutzen.

Operatoren und Funktionen

Haben Funktionen mehrere Parameter, sind diese durch Semikolon zu trennen.

  • für numerische Operanden

    +

    Addition (von Zahlen oder Zeichenketten)

    -

    negativer Wert oder Subtraktion

    *

    Multiplikation

    /

    Division

    mod

    Modulo-Funktion (Bsp.: 5 mod 3 ergibt 2)

    div

    ganzzahlige Division (Bsp.: 4 div 3 ergibt 1)

    ^

    Potenz, nach Möglichkeit durch Multiplikationen ersetzen (Bsp.: 2 ^ 4 ergibt 16)

    !

    Fakultät (Bsp.: ! 5 ergibt 1*2*3*4*5=120)

    ln

    natürlicher Logarithmus (Basis e)
    (Bsp.: ln(2,71828182845905) ergibt etwa 1)

    ld

    Logarithmus zur Basis 2 (Bsp.: ld (2) ergibt 1)

    lg

    dekadischer Logarithmus (Basis 10) (Bsp.: lg(10) ergibt 1)

    abs

    Absolutbetrag (Bsp. abs(-11) ergibt 11)

    int

    ganzzahliger Anteil (Bsp.: int(-1,7) ergibt -1)

    sign

    Signumfunktion (Ergebnis ist : -1 für Werte <0, 1 für Werte>0, 0 bei 0)

    frac

    gebrochener Anteil (Bsp.: frac(-1,7) ergibt - 0,7)

    floor

    größte ganze Zahl, die kleiner oder gleich dem angegebenen numerischen Ausdruck ist (Bsp.: floor(1,7) ergibt 1)

    ceiling

    kleinste ganze Zahl, die größer oder gleich dem angegebenen numerischen Ausdruck ist (Bsp.: ceiling(1,7) ergibt 2)

    rdm

    Zufallszahl kleiner als der Operand erzeugen (Bsp.: rdm(4) liefert 0, 1, 2 oder 3)

    rnd

    Rundung

    rn2

    Rundung auf 2 Nachkommastellen

    sqrt

    Quadratwurzel

    sin

    Sinusfunktion

    cos

    Kosinusfunktion

    tan

    Tangensfunktion

    cot

    Kotangensfunktion

    not

    logische Negation der Binärwerte

    and

    logische Undverknüpfung der Binärwerte

    ior

    logische Oderverknüpfung der Binärwerte

    xor

    log. Exklusivoderverknüpfung der Binärwerte

    shl

    bitweises Verschieben nach links

    shr

    bitweises Verschieben nach rechts

  • für Zeichenketten-Operanden

    +

    Addition (Aneinanderkettung von Zeichenketten)

    -

    Drehung von Zeichenketten (REVERSE)
    Beispiel:
    -("Regal") liefert als Ergebnis lageR
    * wird eine Zeichenkette mit einer Zahl > 0 multipliziert erhält man eine Zeichenkette, in der die ursprüngliche Zeichenkette vervielfältigt wurde;
    Faktoren < 0 ergeben eine Aneinanderreihung der gedrehten ursprünglichen Zeichenkette;
    Beispiele:
     "0" * (10 - length({Nr})) + {Nr} liefert eine Zeichenkette der Länge 10, in der der Wert von {Nr} linksbündig mit Nullen aufgefüllt wird;
    "Regal" + lower(("Regal"*(-1))) liefert als Ergebnis Regallager

    upper

    Großschreibung

    lower

    Kleinschreibung

    substring

    Teilzeichenkette
    1. Parameter: Ausgangszeichenkette 
    2. Parameter: Startposition (numerisch), ist der Parameter kleiner Null erfolgt die Ermittlung der Teilzeichenkette von rechts.
    3. Parameter: Länge (numerisch)
    der 3. Parameter kann weggelassen werden
    Beispiel:
    substring("ABCDEF";1;3) liefert "ABC"

    substring("ABCDEF";-1;3) liefert "DEF"

    replaceersetzt (nicht rekursiv) alle Vorkommen des zweiten Zeichenfolgenausdrucks im ersten Zeichenfolgenausdruck durch einen dritten Ausdruck;
    1. Parameter: Ausgangszeichenkette
    2. Parameter: Suchzeichenkette
    3. Parameter: Ersatzzeichenkette
    Der 3. Parameter kann zum Löschen aller Vorkommen der Suchzeichenkette aus der Ausgangszeichenkette weggelassen werden.
    Beispiel:
    replace("Staumauer";"u";"hl") liefert Stahlmahler
    asfilenamefür Dateinamen nicht erlaubte Zeichen der Ausgangszeichenkette werden durch ein Ersatzzeichen ersetzt;
    1. Parameter: Ausgangszeichenkette
    2. Parameter: Ersatzzeichen
    Der 2. Parameter kann weggelassen werden, als Ersatzzeichen wird dann "_" verwendet.
    Beispiel:
    asfilename("A < > ? "" : | \ / * Z";"x")
    liefert "A x x x x x x x x x Z"
    concatverbindet zwei Zeichenfolgenausdrücke durch einen Verkettungsausdruck;
    1. Parameter: eine Zeichenkette
    2. Parameter: eine Zeichenkette
    3. Parameter: Verkettungszeichenkette
    Ist eine der Zeichenketten leer, wird die Zeichenkette, die nicht leer ist, ohne Verkettungsausdruck ausgegeben.
    Beispiel:
    concat("Mustermann";"Max";", ") liefert Mustermann, Max
    newline

    mit dieser Konstante kann ein Zeilenumbruch innerhalb des aktuellen Platzhalters erzwungen werden
    Beispiel:
    concat({Anrede}; concat({Name}; {Vorname}; ", "); newline) liefert
    Herr
    Mustermann, Max

    length liefert in einem numerischen Ergebnis die Anzahl der Zeichen in der Zeichenkette
    trimentfernt am Anfang und Ende einer Zeichenkette alle Leer- und Steuerzeichen
    ltrimentfernt am Anfang einer Zeichenkette alle Leer- und Steuerzeichen
    rtrimentfernt am Ende einer Zeichenkette alle Leer- und Steuerzeichen
    locate liefert in einem numerischen Ergebnis die erste Position der Suchzeichenkette in einer Ausgangszeichenkette;
    falls die Suchzeichenkette nicht enthalten ist, ist das Ergebnis 0;
    1. Parameter: Suchzeichenkette 
    2. Parameter: Ausgangszeichenkette 
    lines

    liefert die Anzahl der Zeilen eines Langtextes;
    Parameter: eine Zeichenkette
    Beispiel:
    lines({.Kopftext})

    guid36 liefert als Ergebnis eine Zeichenkette (36 Zeichen) ohne die führende und schließende Klammer
    1. Parameter: eine 38-stellige GUID
    Beispiel:
    guid36({Kennung})
    fill füllt eine Zeichenkette bis zur definierten Länge auf
    1. Parameter: Ausgangszeichenkette
    2. Parameter: Gesamtlänge (numerisch)
    3. Parameter: Füllzeichen(-kette)
    4. Parameter: links auffüllen (true); rechts auffüllen (false)
    der 4. Parameter kann weggelassen werden (Standard ist true)
    Beispiele:
    fill(asstring({FreieZahl1});5;"0")
    fill({Bezeichnung};80;" ";false)
    split

    zerteilt eine Zeichenkette in gleichmäßige Teile
    1. Parameter: Ausgangszeichenkette
    2. Parameter: Anzahl der Zeichen nach der jeweils getrennt werden soll (numerisch). Ist der Parameter kleiner Null, erfolgt die Aufsplittung vom Ende beginnend.
    3. Parameter: Füllzeichen(-kette)
    der 3. Parameter kann weggelassen werden (Standard ist ein Leerzeichen)
    Beispiel:
    split({IBAN};4)

    intersectcount

    mit dieser Funktion lässt sich die Anzahl übereinstimmender Teilzeichenketten zweier Zeichenketten ermitteln

    1. Parameter: Zeichenkette (eine "Liste" von Teilzeichenketten)

    2. Parameter: Zeichenkette (eine "Liste" von Teilzeichenketten)

    3. Parameter: Trennzeichen
    der 3. Parameter kann weggelassen werden (Standard ist ein |)

    Beispiel:

    intersectcount("ABC|D|EF";"G|EF|HM|ABC") liefert den Wert 2 für die Übereinstimmungen von "ABC" und "EF" in beiden Parametern

    isempty

    Gibt einen booleschen Wert zurück, der angibt, ob Zeichenkette leer ist.

    Syntax: isempty("text")

    Beispiele:

    Formel | Ergebnis

    isempty("") | true

    isempty(" ") | true

    isempty("X") | false

    isnotempty

    Gibt einen booleschen Wert zurück, der angibt, ob Zeichenkette nicht leer ist.

    Syntax: isnotempty("text")

    Beispiele:

    Formel | Ergebnis

    isnotempty("") | false

    isnotempty(" ") | false

    isnotempty("X") | true

  • für Logikoperanden

    not

    logische Negation

    and

    logische Und-Verknüpfung

    ior

    logische Oder-Verknüpfung

    xor

    logische Exklusiv-Oder-Verknüpfung

    if Fallunterscheidung
    1. Parameter: logischer Ausdruck
    2. Parameter: Ausdruck beliebigen Formats, welcher das Ergebnis liefert, wenn der 1. Parameter den Wert true besitzt
    3. Parameter: Ausdruck beliebigen Formats, welcher das Ergebnis liefert, wenn der 1. Parameter den Wert false besitzt
    caseDie Funktion hat mindestens 4 Parameter, die Anzahl ist dabei immer geradzahlig. Der erste Parameter ist der Wert, welcher verglichen werden soll, der letzte das Ergebnis wenn keine der angegebenen Möglichkeiten übereinstimmt. Die mittleren Parameter sind paarweise ein Wert und das bei Übereinstimmung auszugebende Ergebnis.
    Beispiel:
    case({Land};"DE";"Deutschland";"AT";"Österreich";"CH";"Schweiz";"")
  • Erkennung und Behandlung von Null-Werten

    isnull

    1. Parameter: ein Ausdruck von beliebigem Format(Zeichenkette, Zahl, Datum, logisch, Null-Wert)
    2. Parameter: Ergebnis, wenn der erste Parameter null ist
    Beispiel:
    // Ersetzung eventueller Null-Werte durch einen Leerstring
    isnull(select("FreierText1 from kunden where nummer = '10000'");"")
    // Ersetzung eventueller Null-Werte durch die Zahl 0
     isnull(select("FreieZahl1 from kunden where nummer = '10000'");0)

  • Vergleichsoperatoren (die Operanden müssen vom gleichen Typ sein und liefern ein logisches Ergebnis)

    =

    Gleichheit

    <>

    Ungleichheit

    < kleiner
    > größer
    <= kleiner gleich
    >= größer gleich
  • Umwandlungsfunktionen

    asfloat

    liefert den numerischen Wert einer Zeichenkette;
    1. Parameter: Ausgangszeichenkette
    2. Parameter: numerischer Wert, der das Ergebnis liefert, wenn die Ausgangszeichenkette nicht in eine Zahl umgewandelt werden kann.
    Der 2. Parameter kann weggelassen werden.

    asstring wandelt einen numerischen Wert in eine Zeichenkette um;
    1. Parameter: Ausgangszahl
    2. Parameter: ein Format für die Darstellung wie z.B. "#,##0.00" 
    der 2. Parameter kann weggelassen werden
    asdatestring wandelt ein Datum in eine Zeichenkette um;
    1. Parameter: Ausgangsdatum
    2. Parameter: ein Format für die Darstellung wie z.B.
    "MMM.YYY"
    der 2. Parameter kann weggelassen werden
    asdatetimewandelt ein Datum in einen numerischen Wert (internes Datumsformat, mit dem gerechnet werden kann) um;
    ein Parameter vom Typ Zeichenkette: Ausgangsdatum im Windowsformat
    monat wandelt einen numerischen Wert zwischen 1 und 12 in den Monatsnamen um, Werte > 12 bzw. < 1 geben einen Leerstring aus;
    z.B. monat(6) liefert "Juni"
    xmltag

    wandelt eine Zeichenkette in das Format UTF8 um und schließt das Ergebnis in < > ein
    Parameter: eine Zeichenkette
    Beispiel:
    xmltag("Text") liefert <Text>

    xmlstringwandelt eine Zeichenkette in UTF8 um, nachdem zuvor <, > und & ersetzt wurden
    Parameter: eine Zeichenkette
    htmlintext liefert den Textinhalt eines HTML-Quelltextes
    Parameter: Ausgangszeichenkette
    Beispiel:
    htmlintext({HTMLText})
    encodebase64

    kodiert eine Zeichenkette per Base64-Verfahren;

    Parameter: eine Zeichenkette

    decodebase64

    dekodiert eine mit dem Base64-Verfahren kodierte Zeichenkette;

    Parameter: eine Zeichenkette

    stringtonumber

    wandelt eine Zeichenkette in eine Zahl um.

    Syntax: stringtonumber("zahlAlsText"; "dezimaltrennzeichen")
    1. Parameter: Text - Pflichtfeld

    2. Parameter: optional; Vorgabewert = '.'

    Beispiele:

    Formel | Ergebnis

    stringtonumber("3.14") | 3.14

    stringtonumber("3.14"; ".") | 3.14

    stringtonumber("3,14") | eine Fehlermeldung "kein gültiger Gleitkommawert, oder leer"

    stringtonumber("3,14"; ",") | 3.14

  • Hilfsfunktionen zum Schreiben von Transact-SQL-Select-Anweisungen

    astsqlfloat

    1. Parameter: Zahl
    astsqlfloat(1,2345) liefert 1.2345

    astsqlnchar 1. Parameter: Zeichenkette
    astsqlnchar("123") liefert N'123'
    astsqldate 1. Parameter: Ausgangsdatum
    astsqldate(date) liefert z.B. am 1.9.2022 N'01.09.2022'
    astsqldate(44805) liefert N'01.09.2022'
    astsqlbit 1. Parameter: logischer Wert
    astsqlbit(true) liefert 1

    Hinweis:
    Die Funktionen liefern als Ergebnis eine Zeichenkette mit einem Leerzeichen am Anfang und am Ende und können zur Unterstützung beim Schreiben von Transact-SQL-Select-Anweisungen in Formeln oder eigenen Blöcken verwendet werden.
  • Datumsfunktionen

    zinstage

    ermittelt die Zinstage entsprechend der 30tägigen Zinsperiode der Bank;
    1. Parameter: Beginndatum
    2. Parameter: Enddatum

    zinsmonate

    ermittelt die Zinsmonate;
    1. Parameter: Beginndatum
    2. Parameter: Enddatum

    zahlungstermin

    ermittelt aus einem Datum und den Angaben der Zahlungsbedingung einen Termin;
    1. Parameter: Startdatum
    2. Parameter: Typ der Berechnung
    3. Parameter: Tagesangabe

    kweek ermittelt die Kalenderwoche; als Parameter ist ein Datum als Variable z.B. kweek({.Datum})
     oder internes Datumsformat anzugeben z.B. kweek(asdatetime("31.12.2021"))
    kyear ermittelt das Kalenderjahr zu dem die Kalenderwoche gehört; als Parameter ist ein Datum als Variable z.B. kyear({.Datum})
     oder internes Datumsformat anzugeben z.B. kyear(asdatetime("31.12.2021"))

    stringtodays

    Wandelt eine Zeichenkette in den (internen - Delphi Double) Datumswert um.

    Syntax: stringtodays("datumAlsText"; "format")

    1. Parameter: Text - Pflichtfeld

    2. Parameter: optional; Vorgabewert = 'yyyyMMdd'

    Beispiele:

    Formel | Ergebnis

    stringtodays("20241230") | 30.12.2024

    stringtodays("20241230"; "yyyyMMdd") | 30.12.2024

    stringtodays("2024.30.12"; "yyyy.dd.MM") | 30.12.2024

    stringtodays("30.12.2024") | eine Fehlermeldung "Keine gültige Datums-/Zeitangabe"



    Beispiele:
    für das Datum 01.01.2022 liefert kweek eine 52, kyear die 2021 → der 01.01.2022 gehört zur 52.Kalenderwoche 2021
    für das Datum 03.01.2022 liefert kweek eine 1, kyear die 2022 → der 03.01.2022 gehört zur 1.Kalenderwoche 2022
  • Datenbankfunktionen
    select liefert den Wert eines Tabellenfeldes;
    als Parameter ist eine select-Anweisung anzugeben, wobei das führende select weggelassen wird;
    liefert die select-Anweisung keinen Wert zurück, ist das Ergebnis null
  • Funktionen zum Lesen u. Schreiben von Variablenwerten
    iniput schreibt einen Eintrag in eine Ini-Datei oder löscht einen Eintrag; liefert als Ergebnis einen logischen Wert, ob der Befehl erfolgreich war:
    1. Parameter: Dateiname, Dateinamen ohne Laufwerk beziehen sich auf das Mandantenverzeichnis;
    2. Parameter: Sektionsbezeichnung;
    3. Parameter: Bezeichnung des Eintrags;
    4. Parameter: Zeichenkette, die eingetragen werden soll.
    Bei Weglassen des 4. Parameters wird ein eventuell vorhandener Eintrag gelöscht.
    //Eintrag erzeugen:
    iniput(datenpfad + "TEST.INI";"Sektion";"Wert";"100")
    //Eintrag löschen:
    iniput(datenpfad + "TEST.INI";"Sektion";"Wert")

    iniget

    liest eine Zeichenkette aus einer Ini-Datei:
    1. Parameter: Dateiname, Dateinamen ohne Laufwerk beziehen sich auf das Mandantenverzeichnis;
    2. Parameter: Sektionsbezeichnung;
    3. Parameter: Bezeichnung des Eintrags;
    4. Parameter: Ergebnis, wenn die Datei nicht existiert oder kein Eintrag in der Ini-Datei gefunden wird.
    Bei Weglassen des 4. Parameters ist die leere Zeichenkette der Standardwert.
    z.B. iniget(datenpfad + "TEST.INI";"Sektion";"Wert";"0")
    put

    speichert programmintern einen Wert, solange das Programm läuft:
    1. Parameter: eine Zeichenkette für die Identifikation des Wertes (keine Unterscheidung von Groß- und Kleinschreibung)
    2. Parameter: ein Ausdruck von beliebigem Format (Zeichenkette, Zahl, Datum, logisch, Null-Wert)
    Beispiel:
    // Abspeichern des aktuellen Zeitpunktes
    put("zeit"; now)
    // Anlegen oder Ändern der programminternen Variable "variable1" mit dem logischen Wert WAHR
    put("variable1"; true)

    get

    liest programminterne Werte:
    1. Parameter: eine Zeichenkette für die Identifikation des Wertes (keine Unterscheidung von Groß- und Kleinschreibung)
    2. Parameter: Ergebnis, wenn programminterner Wert nicht vorhanden ist
    Beispiel:
    // Lesen der programminternen Variable "variable1" get("variable1"; false)
    //ein Durchlaufzähler mit Namen "a"
    put("a"; 1 + get("a"; 0))

  • Spezielle Funktionen
    alle Programme:
    shellexecutezum Absetzen von Kommandos für das Betriebssystem;
    1. Parameter (String): Name des Programms, das geöffnet werden soll
    2. Parameter (String): er enthält die Kommandozeilenparameter für das Programm.
    3. Parameter (Typ Zahl zwischen 0 und 10): Er ist dafür verantwortlich, in welchem Zustand das Fenster des gerufenen Programms geöffnet werden soll.
    Als Ergebnis liefert die Funktion eine Zahl, die bei Zahlen kleiner 32 eine Fehlernummer darstellt, der 2. und 3. Parameter kann weggelassen werden
    regexmatchzur Prüfung, ob eine Zeichenkette einem regulären Ausdruck entspricht;
    1. Parameter (String): eine Zeichenkette
    2. Parameter (String): regulärer Ausdruck
    Als Ergebnis liefert die Funktion true oder false.
    datenpfadliefert den Datenpfad mit abschließendem Backslash
    mandantenpfadliefert den Mandantenpfad mit abschließendem Backslash
    clipstringliest eine Zeichenkette aus der Zwischenablage
    benutzernameliefert den Benutzernamen zu einen Kürzel;
    1. Parameter (String): Benutzer
    umgebungsvariableermittelt den Wert der angegebenen Umgebungsvariable;
    1. Parameter (String): Variablenname
    ttVersucht eine Zeichenkette in deutscher Sprache mit dem Programm-Wörterbuch in die aktuell eingestellte Sprache zu übersetzen;
    1. Parameter (String): eine Zeichenkette
    nur Warenwirtschaft: 

    bestand

    liefert den aktuellen Bestand von Artikeln;
    als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben,
    weitere Parameter für detailliertere Lagerinformationen sind möglich
    bestandpmliefert den aktuellen Bestand von Artikeln in der Preismengeneinheit;
    als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben,
    weitere Parameter für detailliertere Lagerinformationen sind möglich
    gepacktliefert den gepackten Bestand von Artikeln;
    als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben,
    weitere Parameter für detailliertere Lagerinformationen sind möglich
    bestellt liefert die aktuell bestellte Menge von Artikeln;
    1. Parameter: die Artikelnummer
    2. Parameter: der Standort
    als Ausdruck oder Datenbankfeld, der 2. Parameter kann weggelassen werden 
    inproduktionliefert die Menge von Artikeln, die produziert wird;
    1. Parameter: die Artikelnummer
    2. Parameter: der Standort
    als Ausdruck oder Datenbankfeld, der 2. Parameter kann weggelassen werden
    reserviertliefert die aktuell reservierte Menge von Artikeln;
    1. Parameter: die Artikelnummer
    2. Parameter: der Standort
    als Ausdruck oder Datenbankfeld, der 2. Parameter kann weggelassen werden
    listenpreis

    liefert den aktuellen Listenpreis von Artikeln;
    als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben

    kalkulationspreisliefert den aktuellen Kalkulationspreis von Artikeln; als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben.
    belegtypliefert die Beschreibung des Belegtyps; als Parameter ist der Belegtyp anzugeben.
    belegadresskuerzelliefert das Adresskürzel des Belegtyps (bspw. "KU" bei Kundenbelegen); als Parameter ist der Belegtyp anzugeben.
    belegeafaktorliefert die Information zur Interpretation von RNetto (bspw. bei Rechnungen +1, bei Gutschriften -1);
    als Parameter ist der Belegtyp als Ausdruck oder Datenbankfeld anzugeben
    mwstliefert die Steuerprozente eines Steuerschlüssels zum aktuellen Datum;
    als Parameter ist der Steuerschlüssel als Ausdruck oder Datenbankfeld anzugeben
    checksumpostberechnet eine spezielle Prüfziffer;
    der Parameter muss eine Zeichenkette mit 11 Ziffern liefern
    projektsummeliefert in Abhängigkeit vom Preistyp des Projektes die Netto- oder Bruttoprojektsumme;
    als Parameter ist die Nummer des Projektes anzugeben
    preisgruppenbezeichnungliefert die Bezeichnung einer Preisgruppe; als Parameter ist dabei die Nummer der Preisgruppe als Zahl oder Zeichenkette zu übergeben

    nur Digitale Beleg (Import):

    getarticlenumber

    Liefert in Abhängigkeit von den übergebenden Eingangsparameter eine Artikelnummer zurück.

    Syntax: getarticlenumber("artikelnummer"; "eannummer"; "bestellnummer"; "lieferant")

    eannummer: GTIN/EAN Nummer

    bestellnummer : Bestellnummer beim Lieferanten

    lieferant: aktuelle Lieferantennummer

    Die Funktion liefert eine leere Zeichenfolge zurück (kein Fehler), wenn keine Artikelnummer gefunden wurde.

    Es wird nur nach die Bestellnummer gesucht, wenn die beide Parameter "bestellnummer" und "lieferantennummer" gefüllt sind.

    gettaxcode

    Liefert in Abhängigkeit von den übergebenden Eingangsparameter einen Steuercode zurück.

    Syntax: gettaxcode("zugferdkategorie"; "belegdatum"; steuerprozent/"steuerprozent")

    zugferdkategorie: Pflichtfeld

    belegdatum: wenn leer wird das heutige Datum verwendet

    steuerprozent: Pflichtfeld, Wert in Double (7.5) oder String ("7.5")

  • Beispiele:

    bestellt({Artikelnummer};"1") liefert die für den Standort "1" bestellte Menge des vom Datenfeld "Artikelnummer" ausgegebenen Artikel
    bestand("500009";"1";"500,1,1") liefert den Bestand des Artikels "500009" auf dem Lagerplatz "500,1,1," des Flächenlagers "500" im Standort "1".
    shellexecute("notepad";"c:\test.txt";3) öffnet die Datei c:\test.txt im maximierten NotePad.

    Diese speziellen Funktionen sind über Formelplatzhalter in jeder Druckvorlage anwendbar, in denen die benötigten Parameter zur Verfügung stehen.